Nginx与PHP合并部署与分开部署哪种性能更好一些
Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些 -
当然是分开部署了,很简单的理解,同样的一项业务,分散到不同的营业部的话,处理业务的速度会相应加快,如果把人员集中到一个营业部,你会发现,光排队处理一项就把你搞死。
理论上,nginx+apache要好点,nginx作为web服务器性能优于apache,但apache对php的支持又优于nginx,用nginx做web服务,用apache运行php就能把两边的优势都体现出来。不过实际中,大部分的项目都不需要考虑这么多,因为根本感觉不到有什么差距,反而增加服务器搭建和维护的难度。
当然是分开部署了,很简单的理解,同样的一项业务,分散到不同的营业部的话,处理业务的速度会相应加快,如果把人员集中到一个营业部,你会发现,光排队处理一项就把你搞死。
理论上,nginx+apache要好点,nginx作为web服务器性能优于apache,但apache对php的支持又优于nginx,用nginx做web服务,用apache运行php就能把两边的优势都体现出来。不过实际中,大部分的项目都不需要考虑这么多,因为根本感觉不到有什么差距,反而增加服务器搭建和维护的难度。
还是得分情况,如果你的并发量小的话apache和nginx都能承载的。apache稳定,但是耗内存和CPU,高并发效果不好;nginx内存和CPU消耗极小,处理高并发的效果好,但不太稳定。所以在并发量大的情况下,提供一下自己的思路:1、主服务器用nginx做负载均衡,扛并发2、其它服务器用apache,让系统稳定运行。
Nginx+PHP-FPM相对Nginx+Apache(libphp5.so)来说,PHP-FPM更灵活,在php-fpm.conf里可以配置监听不同端口的多个pool,每个pool又可以自由配置PHP-FPM工人进程数pm.max_children,一个pool里的工人进程繁忙不会影响到另一个pool。在Nginx里可以配置应用的不同部分使用不同的pool,而且一台服务器上可以说完了。
NGINX+PHP好,还是NGINX+APACHE+PHP好 -
NGINX+APACHE+PHP会更好,因为可以充分利用NGINX的“反向代理”技术。将静态文件由NGINX处理,动态文件(PHP)由APACHE处理,这是最高效的处理方式。但是,一般网站都不需要这么做,因为没有高并发的情况下,这样做并不能体现非常大的优势。如果是商城,比较注重速度的,就使用NGINX+PHP;如果是政府网站等还有呢?
Nginx体积小,资源消耗少,所以性能更好,但Apache功能更强大,支持模块更多,Nginx在这方面就需要更多的后端来支持,因此Apache在处理脚本程序上也更稳定,所以目前的主流也都是Apache,你看市面上卖的虚拟主机一般都是IIS或Apache就知道了。但如果你要开发大型网站,有独立服务器,可以考虑用Apache来运行是什么。
刚刚装了php7 nginx下有多个php版本,怎么选择使用哪一个 -
借用一下别人的答案,这个问题很多人问过::MAC 自带Apache,先确定当前HTTP 服务器确实是nginx。Nginx 一般和PHP-fpm 配合使用,他们都是独立的,依照FastCGI 标准协议通过本地网络交互。所以:停掉自带的5.5 版本PHP-fpm 的开机自启动,加入5.6 版本PHP-fpm 的开机自启动,问题解决。
FILENAME $document_root$fastcgi_script_name;可以打开fastcgi_parames文件加上上述行,也可以在要使用配置的地方动态添加,使该配置生效。当需要处理php请求时,nginx的worker进程会将请求移交给php-fpm的worker进程进行处理,也就是最开头所说的nginx调用了php,其实严格得讲是nginx间接调用php。
nginx和php-fpm 是使用 tcp socket 还是 unix socket -
如果是在同一台服务器上运行的nginx和php-fpm,并发量不超过1000,选择unix socket,因为是本地,可以避免一些检查操作(路由等),因此更快,更轻。如果我面临高并发业务,我会选择使用更可靠的tcp socket,以负载均衡、内核优化等运维手段维持效率。
如果是lnmpa架构,就是多了个apache,nginx负责分发请求,然后apache调用php_mod解析php,最后返回给nginx 如果是负载均衡,nginx分发请求,每个请求可能请求不同的服务器,但是每个服务器的网站程序应该是一致的,并且每个服务器上都部署了php环境和程序,然后返回给请求者nginx输出页面。